#include "Bomberman.h"
#include "Coordenada.h"
#include "IOcupante.h"
#include "Configuracion.h"
#define VIDAS 3

using std::string;

Bomberman::Bomberman() {
}


Bomberman::Bomberman(Coordenada c){
    posicion = c;
    vidasRestantes = VIDAS;
    respawn = false;
    vive = true;
    tiempoInmunidad = 0;
}

Bomberman::~Bomberman(){
}

int Bomberman::getVidasRestantes(){
    return vidasRestantes;
}

void Bomberman::resetVidas(){
    vidasRestantes = VIDAS;
}

void Bomberman::atacar(){
}

void Bomberman::restarVida(){
    vidasRestantes--;
    respawn = true;
    if (vidasRestantes == 0){
        vive = false;
    }
}

void Bomberman::colisionarConBomberman(IOcupante* bomberman) {
}

void Bomberman::colisionarConBombaPlanta(){
	restarVida();
}

void Bomberman::colisionarConZombie(){
	restarVida();
}

void Bomberman::colisionarCon(IOcupante* ocupante){
	ocupante->colisionarConBomberman(this);
}

void Bomberman::setDireccion(string dir){
    direccion = dir;
}

void Bomberman::crearBomba(){
    bombaCreada = true;
}

BombaBomberman* Bomberman::colocarBomba() {
    return (new BombaBomberman(posicion, Configuracion::getAlcanceBomba(), 
                                Configuracion::getTiempoDetonacionBomba()));
}

void Bomberman::recibirExplosion() {
    this->restarVida();
}

bool Bomberman::respawnear() {
    return respawn;
}